<template>
  <div>
    <!--
  路由钩子
      全局路由钩子
         beforeEach:前置守卫
         beforeResolve:解析守卫
         afterEach:后置守卫
      路由配制钩子
         beforeEnter:读取路由配制时钩子
      路由所对应组件钩子
         beforeRouteEnter:刚进入相应组件时调用，它不能使用this
         beforeRouteUpdate:路由所对应组件不变，路由的传参之类有变化时触发，一般都是传参变化了触发
         beforeRouteLeave:离开当前组件所在路由时触发

   1:说一下路由钩子
   2：beforeRouteEnter能不能使用this:不能，但是通过next回调函数是可以的
   3:beforeRouteUpdate什么时候会执行？怎么取更新后的路由参数值？
   4：第一次从A到B页面，路由钩子执行先后:
     beforeEach
     beforeEnter
     beforeRouteEnter
     beforeResolve
     afterEach

 -->
    <router-link :to="`/dashboard?id=${Date.now()}`">更新</router-link>
  </div>
</template>
<script>
export default {
  data() {
    return {
      num: 999
    }
  },
  beforeRouteEnter(to, from, next) {
    console.log('beforeRouteEnter')
    next((vm) => {
      // vm:相当于this
      console.log(vm.num)
    })
  },
  beforeRouteUpdate(to, from, next) {
    console.log('beforeRouteUpdate', to.query.id)
    next()
  },
  beforeRouteLeave(to, from, next) {
    console.log('beforeRouteLeave')
    next()
  }
}
</script>
<style></style>
